The present invention relates to the field of data coherency, and, more particularly, to maintaining data coherency within related multi-perspective user interfaces (UIs) via session-less queries.
Data analysis often involves a multitude of related data sets. Presenting such related data sets in an intuitive manner within a user interface is a challenge, particularly in a service-oriented architecture (SOA) environment. A popular technique is to display the related data in multiple perspectives or data views. However, displaying the related data in separate areas introduces the problem of maintaining the coherency between the related data being shown, especially when the data sets are time-sensitive.
For example, a network administrator views a network topology in a primary data view area and the data for Node A in a subordinate data view of the user interface. While the administrator is viewing this snapshot of information, values for the viewed data have more than likely changed. If the administrator executes a command that modifies the data of the subordinate data view, the data of primary data view should be updated to reflect any changes that have occurred. Otherwise, the contents of the primary data view remain static. An administrator can erroneously use this static data, which may be inconsistent with the newer data shown in the subordinate data view, to make current decisions.
A variety of approaches has been developed in the attempt to address the problem of maintaining data coherency. One such approach is the use of a user interface server. A user interface server is a specialized, and often complex, computing process that handles tasks for maintaining data coherency. Generally, a user interface (UI) server interacts with various components of the computing environment utilizing a subscription process. Conventional UI servers are state-full and session-full in that they maintain a session state for each of the user interfaces and user interface views that they manage. Additionally, a state-full, session-full UI server is not inherently compatible with every application having a multi-perspective user interface, due to the complexities of the UI, application, and/or the UI server. Thus, a single “generic” UI server cannot be easily adapted for all situations. Moreover, the complexity and additional resource and maintenance cost of this solution (using a conventional state-full, session-full UI server) is often prohibitive or cannot be cost justified for many situations.
Another approach is to force the update of data displayed in the primary data view every time a command alters the data displayed in the subordinate data view. While this approach addresses the problem, it incurs additional overhead that degrades overall performance.
An alternative approach is to forego the use of multiple display areas and have the lower-level data view replace the existing view. This eliminates the issue of data coherency at the cost of usability and overall effectiveness. A user is no longer able to view multiple data sets and, thus, required to remember relationships from the previous view or continuously reload data views.